Recent innovations in communication have led to the production and availability of a large variety of mobile devices. Innovations in information retrieval and database technologies have provided improved capabilities of handling information of a spectrum of heterogeneous formats. The availability of these mobile devices has essentially transformed methods of communication and information retrieval, and has added an element of convenience to every day life. No longer is it required for an individual to transmit and receive information via a stationary unit. Additionally, the advancements of information retrieval and database technologies have produced a variety of specialized database products from traditional relational database systems to document content management systems to multimedia database systems. These advancements have introduced the search capability from the Internet search to the desktop file search (e.g., Google® desktop search). As a result, corporate entities and enterprises usually maintain more than one database (e.g., linked by a middleware system such as IBM® Websphere) and need to handle information search and management of an increasing complexity. The production and availability of mobile devices have resulted in mobile devices changing from being a luxury item, to an item of necessity. In fact, corporate entities and enterprises are moving towards providing their workforces with ubiquitous access to networked corporate applications and a wide array of heterogeneous data sources, such as, for example, e-mail, address books, appointment calendars, customer databases, minutes of a meeting, etc.
Problems with providing remote access to heterogeneous information sources are associated with accessing and presenting results from multiple systems. Accessing heterogeneous data systems involves interacting with their individual interfaces, access control and authorization mechanisms. Further, because many of the data repositories have different structures, the types of queries that are sent to one repository might be very different from the queries that would be sent to another repository. Finally, due to these different structures or formats, it is usually necessary to launch different computer software to present the contents of the results. For example, document management systems and Internet search engines return their matched results in a similar way, i.e., a list of links pointing to the locations of the corresponding documents or web pages respectively. By clicking on a link, the application associated with the format of the document or page is invoked and used to present its content. Problems arise when an individual is searching for a contact phone number urgently. The individual will have to browse through the content of each matched results until the answer is found. The problem is worse when the number of matches is large.
Although many systems provide remote access to data sources through an Internet connection (e.g., via a Web browser) or wireless connection interface (e.g., via Wireless Application Protocol), the remote access usually involves programming efforts (i.e. to build client programs or interfaces for each system). Furthermore, these custom-built access interfaces are usually distinct from one another. As a result, users will have to interact with different user interfaces when they access different applications. Similarly, for remote data repositories that have built-in remote access support, these systems present unique or proprietary interfaces to the user once connected.
Further, because many of the data repositories have different structures, the types of queries that a user would present to one repository might be very different from the queries that would be put to another repository. The situation becomes worse when a developer is trying to write a program that can access data from heterogeneous information sources, which provide a unique, proprietary API (Application Programming Interface). Middleware software provides an easy way to connect to multiple data repositories. However, they only provide a generic API to access these systems without attempting to dispatch the queries and integrate the query results according to the structures or semantics of the data. Accordingly, although much information is available over the Internet, much of the information is stored in dissimilar systems. Thus, a person wanting to search several of these systems must access each of them separately and organize all the received information locally after it has been downloaded.
Along with the problem of accessing information from different remote data sources, users frequently have access to different devices, each having different data access and display abilities/requirements. For example, certain cellular telephone handsets have the ability to receive e-mail, but do not have a built-in word processor to display a Microsoft® Word document. Certain mobile phone handsets can play music in MP3 format but cannot process songs in WMA format. Also, many PDAs (Personal Digital Assistants) do not have the ability to edit any document or update enterprise databases, but can retrieve or even maintain personal data, such as emails, calendars and contact address. Other PDAs have the ability to access to the enterprise network through their Virtual Private Network (VPN). Some systems or networks allow users to download their e-mail headers to a remote device and read some portion or all of the e-mail. However, while most devices are able to display the body of an email properly, most fail to display/render email attachments that may be of arbitrary formats. Hence the ability for users to access, maintain, and dynamically utilize information is heavily dependent on the device being used.
Working with data that requires launching multiple applications is cumbersome and tedious, especially on a mobile device. It involves interacting with a limited device to invoke each application. Within each application, the corresponding document/data file has to be identified/selected, loaded, edited and then saved. Due to the limitations of the display of a device, which may impose a limit on the number of applications visible at any one time, the transition from one application to anther is usually not seamless and involves many repetitive steps. Furthermore, individual applications have unique user interfaces and functionalities that can reduce the productivity of mobile device users.
Further, certain organizations limit and maintain access to the information maintained in an enterprise. For example, many corporations control e-mail access using a dedicated server (e.g., VPN server) having restricted access, including using firewalls and encryption. Access to this information requires making the information available under conditions imposed and maintained by the corporation. Once the users connect to the dedicated server, each remote data source still normally requires the user authorization and access control information. Even for the same user, this information could be different for different remote data sources. Therefore, a more convenient secure access scheme, without compromising the degree of security, is needed for remote accessing information from mobile devices. This is especially necessary for mobile users that need information immediately and from a device with limited resources).
For purposes of this application, a corporation or other entity, public private, or otherwise, is referred to as an “enterprise.” As used herein, an enterprise represents any entity maintaining or controlling information at a remote location from a user. Examples of enterprises include a secure corporate network, a dedicated server, or a publicly accessible web site network. Other enterprises may be employed which maintain and control certain information as may be appreciated by those of skill in the art.
Certain enterprises also have particular needs and preferences. For example, some corporate enterprises may maintain a network that interfaces with offices in different countries, and depending on the person accessing the information, he or she may have a particular language preference. Certain enterprises also find it highly desirable to have a reconfigurable interface to provide updated graphics, information, and presence to network users. These user interfaces may change rapidly in some industries. A system offering information access should therefore be seamless and automatically transform data to an appropriate format. It should also offer user interfaces structured for the enterprise, for use on a variety of devices.
Such a system should be easy to set up and maintain, and use readily available hardware and software wherever possible. Further, the system should provide for data access tracking, data management, data backup and efficient security and authorization.